/**
 * 假设球队队员排列是局部有序的，此时，在队伍中间标记一个队员，把一件红色衬衣丢给他，在他左边的所有队员都是有序的，从他开始之后的队员都是无序的。
 * 下面将要做的是在（局部）有序组中的适当位置插入被标记的队员。要做到这一点需要把部分已排序的队员右移以腾出空间。为了提供移动所需的控件，就先让被标记的队员出列（在程序中，这个数据项被存储在一个临时变量中）。
 * 现在移动已经排序的队员来腾出空间。将局部有序中最高的队员移动到原来被标记队员所在位置，次高的队员移动到原来最高的队员所在的位置，以此类推。
 * 每一次挪动都可以比较被挪动的队员和被标记队员的身高，直到将要被挪动的队员的身高低于被标记队员为止，停止挪动。
 * 现在局部有序的部分里多了一个队员，而未排序的部分少了一个队员。把红色衬衫丢给未排序部分的第一个队员，继续重复这个过程，直到所有未排序的队员都被插入到局部有序队列中合适的位置。
 */
;(function(window, document){
	window.InsertSort = {
		sort: function(pArrDatas){
			this._datas = pArrDatas;
			for( var i= 1,ln=this._datas.length; i<ln; i++){
				var j = i;
				var tmp = this._datas[j];
				while(j>0 && this._datas[j-1] >= tmp){
					this._datas[j] = this._datas[j-1];
					j--;
				}
				this._datas[j] = tmp;
			}
		}
	};
})(window, document);